package com.jwinf.cdLibary.service;

import com.jwinf.cdLibary.dao.CDdao;
import com.jwinf.cdLibary.domain.CD;
import com.jwinf.cdLibary.domain.Record;

import java.sql.SQLException;
import java.util.List;

/**
 * cd服务层
 * 对数据库查询的结果做一些简单的操作
 * 将操作结果放回给控制层
 */
public class CDService {
    private CDdao cDdao = new CDdao();

    // 查询方法
    public List find(CD cd){
        // 调用dao层的查询方法 并返回结果
        return cDdao.find(cd);
    }

    // 查询方法的多态 参数不一样
    public List find(String username){
        // 调用dao层的查询方法 并返回结果
        return cDdao.find(username);
    }

    // 借阅方法
    public boolean borrow(CD cd, String name){
        try {
            // 调用dao层的借阅方法 并返回结果
            return cDdao.borrow(cd, name);
        } catch (SQLException e) {
            return false;
        }
    }

    // 归还方法
    public boolean back(Record record, String username) {
        try {
            // 调用dao层的归还方法 并返回结果
            return cDdao.back(record, username);
        } catch (SQLException e) {
            return false;
        }
    }

    // 查询方法
    public List search(String cdname){
        // 调用dao层的查询方法
        return cDdao.search(cdname);
    }

    // 查询历史记录方法
    public List history(String userName){
        // 调用dao层的查询历史记录方法 并返回结果
        return cDdao.history(userName);
    }

    // 添加方法
    public boolean add(CD cd) throws SQLException {
        // 调用dao成的添加方法 并返回结果
        return cDdao.add(cd);
    }

    // 编辑方法
    public boolean edit(CD cd){
        // 调用dao层的编辑方法 并返回结果
        return cDdao.edit(cd);
    }

    // 删除方法
    public boolean delete(CD cd){
        // 调用dao层的删除方法 并返回结果
        return cDdao.delete(cd);
    }

}
